+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
↳ QTRS
↳ Overlay + Local Confluence
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
-1(s(x), s(y)) → -1(x, y)
IFFACT(x, true) → -1(x, s(0))
FACT(x) → GE(x, s(s(0)))
+1(x, s(y)) → +1(x, y)
FACT(x) → IFFACT(x, ge(x, s(s(0))))
*1(x, s(y)) → *1(x, y)
GE(s(x), s(y)) → GE(x, y)
IFFACT(x, true) → FACT(-(x, s(0)))
*1(x, s(y)) → +1(*(x, y), x)
IFFACT(x, true) → *1(x, fact(-(x, s(0))))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
-1(s(x), s(y)) → -1(x, y)
IFFACT(x, true) → -1(x, s(0))
FACT(x) → GE(x, s(s(0)))
+1(x, s(y)) → +1(x, y)
FACT(x) → IFFACT(x, ge(x, s(s(0))))
*1(x, s(y)) → *1(x, y)
GE(s(x), s(y)) → GE(x, y)
IFFACT(x, true) → FACT(-(x, s(0)))
*1(x, s(y)) → +1(*(x, y), x)
IFFACT(x, true) → *1(x, fact(-(x, s(0))))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
-1(s(x), s(y)) → -1(x, y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
-1(s(x), s(y)) → -1(x, y)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
-1(s(x), s(y)) → -1(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
GE(s(x), s(y)) → GE(x, y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
GE(s(x), s(y)) → GE(x, y)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
GE(s(x), s(y)) → GE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
+1(x, s(y)) → +1(x, y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
+1(x, s(y)) → +1(x, y)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
+1(x, s(y)) → +1(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
*1(x, s(y)) → *1(x, y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
*1(x, s(y)) → *1(x, y)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
*1(x, s(y)) → *1(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
FACT(x) → IFFACT(x, ge(x, s(s(0))))
IFFACT(x, true) → FACT(-(x, s(0)))
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
fact(x) → iffact(x, ge(x, s(s(0))))
iffact(x, true) → *(x, fact(-(x, s(0))))
iffact(x, false) → s(0)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
FACT(x) → IFFACT(x, ge(x, s(s(0))))
IFFACT(x, true) → FACT(-(x, s(0)))
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
+(x0, 0)
+(x0, s(x1))
*(x0, 0)
*(x0, s(x1))
fact(x0)
iffact(x0, true)
iffact(x0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
FACT(x) → IFFACT(x, ge(x, s(s(0))))
IFFACT(x, true) → FACT(-(x, s(0)))
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ RemovalProof
↳ Narrowing
FACT(x, x_removed) → IFFACT(x, ge(x, x_removed), x_removed)
IFFACT(x, true, x_removed) → FACT(-(x, s(0)), x_removed)
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ QDP
↳ Narrowing
FACT(x, x_removed) → IFFACT(x, ge(x, x_removed), x_removed)
IFFACT(x, true, x_removed) → FACT(-(x, s(0)), x_removed)
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
FACT(0) → IFFACT(0, false)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
FACT(0) → IFFACT(0, false)
IFFACT(x, true) → FACT(-(x, s(0)))
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(x, true) → FACT(-(x, s(0)))
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
IFFACT(s(x0), true) → FACT(-(x0, 0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(x0), true) → FACT(-(x0, 0))
-(s(x), s(y)) → -(x, y)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(x0), true) → FACT(-(x0, 0))
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
IFFACT(s(x0), true) → FACT(x0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(x0), true) → FACT(x0)
-(x, 0) → x
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(x0), true) → FACT(x0)
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
-(x0, 0)
-(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(x0), true) → FACT(x0)
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
FACT(s(x0)) → IFFACT(s(x0), ge(x0, s(0)))
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), ge(s(y_0), s(0)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), ge(s(y_0), s(0)))
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), ge(y_0, 0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), ge(y_0, 0))
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), ge(y_0, 0))
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), true)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), true)
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
ge(x, 0) → true
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), true)
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
ge(x0, 0)
ge(0, s(x0))
ge(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
FACT(s(s(y_0))) → IFFACT(s(s(y_0)), true)
IFFACT(s(s(y_0)), true) → FACT(s(y_0))
From the DPs we obtained the following set of size-change graphs: